package com.hsgene.order.dto.peanut;

import com.hsgene.order.dto.v1.CancerModelDto;
import com.hsgene.order.dto.v1.GeneticOrderRelationDto;
import com.hsgene.order.dto.v1.SimpleRequisitionDto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 花生仁订单详情
 *
 * @author wangbing
 * @version 1.0, 2018/9/20
 */
public class PeanutOrderDto implements Serializable {

    private static final long serialVersionUID = -239990159957306270L;

    /**
     * 检测订单ID
     */
    private String id;

    /**
     * 检测订单号
     */
    private String orderNo;

    /* ---------------------- 关联医生信息 ------------------------ */

    /**
     * 医生ID
     */
    private String memberId;

    /**
     * 医生姓名
     */
    private String memberName;

    /**
     * 患者姓名
     */
    private String patientName;

    /**
     * 患者手机号
     */
    private String patientPhoneNumber;

    /**
     * 患者年龄
     */
    private Integer age;

    /**
     * 患者性别
     */
    private String sex;

    /**
     * 患者性别(标签)
     */
    private String sexDictLabel;

    /**
     * 患者家属姓名
     */
    private String patientFamilyName;

    /**
     * 患者家属手机号
     */
    private String patientFamilyPhoneNumber;

    /**
     * 检测目的
     */
    private String testingPurpose;

    /**
     * 检测目的(标签)
     */
    private String testingPurposeDictLabel;

    /**
     * 临床诊断
     */
    private String clinical;

    /**
     * 取消原因
     */
    private String cancelReason;

    /**
     * 订单费用状态
     */
    private String chargeStatus;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 下单时间(创建时间)
     */
    private Date createDate;

    /**
     * 删除标记[0 正常, 1 删除]
     */
    private String delFlag;

    /**
     * 样品传递状态
     */
    private String deliverStatus;

    /**
     * 预警备注
     */
    private String description;

    /**
     * 地服id
     */
    private String difuId;

    /**
     * 运费
     */
    private BigDecimal fee;

    /**
     * 快递回单，打款凭证(PS:指发票信息图片)
     */
    private String figures;

    /**
     * 是否全款
     */
    private Integer fullAmount;

    /**
     * 支付状态标志
     */
    private Integer paymentState;

    /**
     * 修改价格备注
     */
    private String priceRemark;

    /**
     * 订单下所有套餐名称
     */
    private String productNames;

    /**
     *
     */
    private Date receiveDate;

    /**
     * 检测单备注
     */
    private String remarks;

    /**
     * 报告名称
     */
    private String reportName;

    /**
     * 报告状态
     */
    private String reportStatus;

    /**
     * 发票抬头
     */
    private String rise;

    /**
     * 样本图片
     */
    private String samplePhoto;

    /**
     * 来源
     */
    private String source;

    /**
     * 检测单状态
     */
    private String status;

    /**
     * 检测单状态(标签)
     */
    private String statusDictLabel;

    /**
     * 订单终止原因
     */
    private String stopReason;

    /**
     * 检测图片(逗号分隔)
     */
    private String testingPhoto;

    /**
     * 检测时间
     */
    private Date testingTime;

    /**
     * 总费用
     */
    private BigDecimal totalCharges;

    /**
     * 总佣金
     */
    private Integer totalCommission;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateDate;

    /**
     * 疾病分类,疾病名称;
     */
    private String cancers;

    /**
     * 疾病名称(逗号分隔)
     */
    private String cancerNames;

    /**
     * 疾病模块
     */
    private List<List<CancerModelDto>> cancerModels;

    /**
     * 给积分时间
     */
    private Date approveTime;

    /**
     * 物流快递确认签收图片
     */
    private String expressImgs;

    /**
     * 是否包含补寄记录
     */
    private Integer hasAddition;

    /**
     * 补寄总金额
     */
    private BigDecimal additionTotalAmount;

    /**
     * 基因检测关联信息
     */
    private GeneticOrderRelationDto geneOrderRelation;

    /**
     * 套餐变更信息
     */
    private SimpleOrderInterchangeDto geneOrderInterChangeModel;

    /**
     * 物流快递模块
     */
    private List<ExpressModelDto> expressModels;

    /**
     * 套餐相关详情
     */
    private List<PeanutOrderPackageDetailDto> geneOrderDetails;

    /**
     * 使用耗材
     */
    private List<SimpleGoodsConsumeDto> geneOrderGoodsConsumes;

    /**
     * 支付信息模块
     */
    private OrderPaymentDto orderPayment;

    /**
     * 检测申请单
     */
    private List<SimpleRequisitionDto> requisitionList;

    /* ---------------------- DCW ------------------------ */

    /**
     * dcwId
     */
    private String dcwId;

    /**
     *
     */
    private Integer allotState;

    /**
     * 原始病历
     */
    private String dcwFigures;

    /**
     * 病例类型
     */
    private Integer caseType;

    /**
     * 病例类型(标签)
     */
    private String caseTypeDictLabel;

    /**
     * dcw录入人员(姓名)
     */
    private String dcwInputer;

    /**
     * dcw状态
     */
    private String dcwStatus;

    /**
     * dcw状态(标签)
     */
    private String dcwStatusDictLabel;

    /**
     * 医嘱单
     */
    private String yizhuFigures;

    /**
     * 血液检查图片
     */
    private String bloodFigures;

    /**
     * imageFigures
     */
    private String imageFigures;

    /**
     * 镜像检查图片
     */
    private String mirrorFigures;

    /**
     * 肿瘤标志物检查单图片
     */
    private String tumorFigures;

    /* ---------------------- 标签按钮状态控制 ------------------------ */

    /**
     * 是否上传DCW标志
     */
    private String hasDcw;

    /**
     * 30天没上传dcw警告标志
     */
    private String needWarnRequested;

    /**
     * 是否需要确认签收标志
     */
    private String needConfirmRecieved;

    /**
     * 完善订单标志(0不可完善，1可以完善操作)
     */
    private String needSupplyExpress;

    /**
     * 是否需要补寄
     */
    private Integer needSupplyAddition;

    /**
     * 是否需要补款
     */
    private Integer needPayAddition;

    /**
     * 是否可以上传dcw和申请录入标志
     */
    private String requested;

    /**
     * 是否展示二维码标志
     */
    private String showQrCode;

    /* 2019-01-04 添加新需求字段 */
    /**
     * 订单来源：‘1-运营后台’，‘2-花生仁’，‘3-金琉璃’，‘4-因子网小程序’，‘5-因子网PC’，‘6-因子网APP’
     */
    private Integer orderOrigin;

    /**
     * 增项费用
     */
    private BigDecimal additionValue = BigDecimal.ZERO;

    /**
     * 地服经验值
     */
    private Integer difuValue = 0;

    /**
     * 是否显示增项费用
     */
    private Boolean showAdditionCost = false;

    /**
     * 是否显示经验值
     */
    private Boolean showExp = false;

    /**
     * 是否显示完善按钮
     */
    private Boolean canShowCompleteBtn = false;

    /**
     * 是否发放积分，true已发放false未发放
     */
    private Boolean sendPoints = false;

    /**
     * 是否关闭订单 0、否 1、是
     */
    private Integer isClosed = 0;

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getAllotState() {
        return allotState;
    }

    public void setAllotState(Integer allotState) {
        this.allotState = allotState;
    }

    public Date getApproveTime() {
        return approveTime;
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public String getBloodFigures() {
        return bloodFigures;
    }

    public void setBloodFigures(String bloodFigures) {
        this.bloodFigures = bloodFigures;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    public String getCancers() {
        return cancers;
    }

    public void setCancers(String cancers) {
        this.cancers = cancers;
    }

    public Integer getCaseType() {
        return caseType;
    }

    public void setCaseType(Integer caseType) {
        this.caseType = caseType;
    }

    public String getCaseTypeDictLabel() {
        return caseTypeDictLabel;
    }

    public void setCaseTypeDictLabel(String caseTypeDictLabel) {
        this.caseTypeDictLabel = caseTypeDictLabel;
    }

    public String getChargeStatus() {
        return chargeStatus;
    }

    public void setChargeStatus(String chargeStatus) {
        this.chargeStatus = chargeStatus;
    }

    public String getClinical() {
        return clinical;
    }

    public void setClinical(String clinical) {
        this.clinical = clinical;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getDcwFigures() {
        return dcwFigures;
    }

    public void setDcwFigures(String dcwFigures) {
        this.dcwFigures = dcwFigures;
    }

    public String getDcwId() {
        return dcwId;
    }

    public void setDcwId(String dcwId) {
        this.dcwId = dcwId;
    }

    public String getDcwInputer() {
        return dcwInputer;
    }

    public void setDcwInputer(String dcwInputer) {
        this.dcwInputer = dcwInputer;
    }

    public String getDcwStatus() {
        return dcwStatus;
    }

    public void setDcwStatus(String dcwStatus) {
        this.dcwStatus = dcwStatus;
    }

    public String getDcwStatusDictLabel() {
        return dcwStatusDictLabel;
    }

    public void setDcwStatusDictLabel(String dcwStatusDictLabel) {
        this.dcwStatusDictLabel = dcwStatusDictLabel;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDeliverStatus() {
        return deliverStatus;
    }

    public void setDeliverStatus(String deliverStatus) {
        this.deliverStatus = deliverStatus;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDifuId() {
        return difuId;
    }

    public void setDifuId(String difuId) {
        this.difuId = difuId;
    }

    public String getExpressImgs() {
        return expressImgs;
    }

    public void setExpressImgs(String expressImgs) {
        this.expressImgs = expressImgs;
    }

    public List<ExpressModelDto> getExpressModels() {
        return expressModels;
    }

    public void setExpressModels(List<ExpressModelDto> expressModels) {
        this.expressModels = expressModels;
    }

    public BigDecimal getFee() {
        return fee;
    }

    public void setFee(BigDecimal fee) {
        this.fee = fee;
    }

    public String getFigures() {
        return figures;
    }

    public void setFigures(String figures) {
        this.figures = figures;
    }

    public Integer getFullAmount() {
        return fullAmount;
    }

    public void setFullAmount(Integer fullAmount) {
        this.fullAmount = fullAmount;
    }

    public List<PeanutOrderPackageDetailDto> getGeneOrderDetails() {
        return geneOrderDetails;
    }

    public void setGeneOrderDetails(List<PeanutOrderPackageDetailDto> geneOrderDetails) {
        this.geneOrderDetails = geneOrderDetails;
    }

    public String getHasDcw() {
        return hasDcw;
    }

    public void setHasDcw(String hasDcw) {
        this.hasDcw = hasDcw;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getImageFigures() {
        return imageFigures;
    }

    public void setImageFigures(String imageFigures) {
        this.imageFigures = imageFigures;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getMirrorFigures() {
        return mirrorFigures;
    }

    public void setMirrorFigures(String mirrorFigures) {
        this.mirrorFigures = mirrorFigures;
    }

    public String getNeedConfirmRecieved() {
        return needConfirmRecieved;
    }

    public void setNeedConfirmRecieved(String needConfirmRecieved) {
        this.needConfirmRecieved = needConfirmRecieved;
    }

    public String getNeedWarnRequested() {
        return needWarnRequested;
    }

    public void setNeedWarnRequested(String needWarnRequested) {
        this.needWarnRequested = needWarnRequested;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public OrderPaymentDto getOrderPayment() {
        return orderPayment;
    }

    public void setOrderPayment(OrderPaymentDto orderPayment) {
        this.orderPayment = orderPayment;
    }

    public String getPatientFamilyName() {
        return patientFamilyName;
    }

    public void setPatientFamilyName(String patientFamilyName) {
        this.patientFamilyName = patientFamilyName;
    }

    public String getPatientFamilyPhoneNumber() {
        return patientFamilyPhoneNumber;
    }

    public void setPatientFamilyPhoneNumber(String patientFamilyPhoneNumber) {
        this.patientFamilyPhoneNumber = patientFamilyPhoneNumber;
    }

    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    public String getPatientPhoneNumber() {
        return patientPhoneNumber;
    }

    public void setPatientPhoneNumber(String patientPhoneNumber) {
        this.patientPhoneNumber = patientPhoneNumber;
    }

    public Integer getPaymentState() {
        return paymentState;
    }

    public void setPaymentState(Integer paymentState) {
        this.paymentState = paymentState;
    }

    public String getPriceRemark() {
        return priceRemark;
    }

    public void setPriceRemark(String priceRemark) {
        this.priceRemark = priceRemark;
    }

    public String getProductNames() {
        return productNames;
    }

    public void setProductNames(String productNames) {
        this.productNames = productNames;
    }

    public Date getReceiveDate() {
        return receiveDate;
    }

    public void setReceiveDate(Date receiveDate) {
        this.receiveDate = receiveDate;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getReportName() {
        return reportName;
    }

    public void setReportName(String reportName) {
        this.reportName = reportName;
    }

    public String getReportStatus() {
        return reportStatus;
    }

    public void setReportStatus(String reportStatus) {
        this.reportStatus = reportStatus;
    }

    public String getRequested() {
        return requested;
    }

    public void setRequested(String requested) {
        this.requested = requested;
    }

    public String getRise() {
        return rise;
    }

    public void setRise(String rise) {
        this.rise = rise;
    }

    public String getSamplePhoto() {
        return samplePhoto;
    }

    public void setSamplePhoto(String samplePhoto) {
        this.samplePhoto = samplePhoto;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSexDictLabel() {
        return sexDictLabel;
    }

    public void setSexDictLabel(String sexDictLabel) {
        this.sexDictLabel = sexDictLabel;
    }

    public String getShowQrCode() {
        return showQrCode;
    }

    public void setShowQrCode(String showQrCode) {
        this.showQrCode = showQrCode;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatusDictLabel() {
        return statusDictLabel;
    }

    public void setStatusDictLabel(String statusDictLabel) {
        this.statusDictLabel = statusDictLabel;
    }

    public String getStopReason() {
        return stopReason;
    }

    public void setStopReason(String stopReason) {
        this.stopReason = stopReason;
    }

    public String getTestingPhoto() {
        return testingPhoto;
    }

    public void setTestingPhoto(String testingPhoto) {
        this.testingPhoto = testingPhoto;
    }

    public String getTestingPurpose() {
        return testingPurpose;
    }

    public void setTestingPurpose(String testingPurpose) {
        this.testingPurpose = testingPurpose;
    }

    public String getTestingPurposeDictLabel() {
        return testingPurposeDictLabel;
    }

    public void setTestingPurposeDictLabel(String testingPurposeDictLabel) {
        this.testingPurposeDictLabel = testingPurposeDictLabel;
    }

    public Date getTestingTime() {
        return testingTime;
    }

    public void setTestingTime(Date testingTime) {
        this.testingTime = testingTime;
    }

    public BigDecimal getTotalCharges() {
        return totalCharges;
    }

    public void setTotalCharges(BigDecimal totalCharges) {
        this.totalCharges = totalCharges;
    }

    public Integer getTotalCommission() {
        return totalCommission;
    }

    public void setTotalCommission(Integer totalCommission) {
        this.totalCommission = totalCommission;
    }

    public String getTumorFigures() {
        return tumorFigures;
    }

    public void setTumorFigures(String tumorFigures) {
        this.tumorFigures = tumorFigures;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getYizhuFigures() {
        return yizhuFigures;
    }

    public void setYizhuFigures(String yizhuFigures) {
        this.yizhuFigures = yizhuFigures;
    }

    public List<SimpleGoodsConsumeDto> getGeneOrderGoodsConsumes() {
        return geneOrderGoodsConsumes;
    }

    public void setGeneOrderGoodsConsumes(List<SimpleGoodsConsumeDto> geneOrderGoodsConsumes) {
        this.geneOrderGoodsConsumes = geneOrderGoodsConsumes;
    }

    public Integer getHasAddition() {
        return hasAddition;
    }

    public void setHasAddition(Integer hasAddition) {
        this.hasAddition = hasAddition;
    }

    public BigDecimal getAdditionTotalAmount() {
        return additionTotalAmount;
    }

    public void setAdditionTotalAmount(BigDecimal additionTotalAmount) {
        this.additionTotalAmount = additionTotalAmount;
    }

    public Integer getNeedSupplyAddition() {
        return needSupplyAddition;
    }

    public void setNeedSupplyAddition(Integer needSupplyAddition) {
        this.needSupplyAddition = needSupplyAddition;
    }

    public Integer getNeedPayAddition() {
        return needPayAddition;
    }

    public void setNeedPayAddition(Integer needPayAddition) {
        this.needPayAddition = needPayAddition;
    }

    public List<List<CancerModelDto>> getCancerModels() {
        return cancerModels;
    }

    public void setCancerModels(List<List<CancerModelDto>> cancerModels) {
        this.cancerModels = cancerModels;
    }

    public String getCancerNames() {
        return cancerNames;
    }

    public void setCancerNames(String cancerNames) {
        this.cancerNames = cancerNames;
    }

    public List<SimpleRequisitionDto> getRequisitionList() {
        return requisitionList;
    }

    public void setRequisitionList(List<SimpleRequisitionDto> requisitionList) {
        this.requisitionList = requisitionList;
    }

    public GeneticOrderRelationDto getGeneOrderRelation() {
        return geneOrderRelation;
    }

    public void setGeneOrderRelation(GeneticOrderRelationDto geneOrderRelation) {
        this.geneOrderRelation = geneOrderRelation;
    }

    public String getNeedSupplyExpress() {
        return needSupplyExpress;
    }

    public void setNeedSupplyExpress(String needSupplyExpress) {
        this.needSupplyExpress = needSupplyExpress;
    }

    public SimpleOrderInterchangeDto getGeneOrderInterChangeModel() {
        return geneOrderInterChangeModel;
    }

    public void setGeneOrderInterChangeModel(SimpleOrderInterchangeDto geneOrderInterChangeModel) {
        this.geneOrderInterChangeModel = geneOrderInterChangeModel;
    }

    public Integer getOrderOrigin() {
        return orderOrigin;
    }

    public void setOrderOrigin(Integer orderOrigin) {
        this.orderOrigin = orderOrigin;
    }

    public BigDecimal getAdditionValue() {
        return additionValue;
    }

    public void setAdditionValue(BigDecimal additionValue) {
        this.additionValue = additionValue;
    }

    public Integer getDifuValue() {
        return difuValue;
    }

    public void setDifuValue(Integer difuValue) {
        this.difuValue = difuValue;
    }

    public Boolean getShowAdditionCost() {
        return showAdditionCost;
    }

    public void setShowAdditionCost(Boolean showAdditionCost) {
        this.showAdditionCost = showAdditionCost;
    }

    public Boolean getShowExp() {
        return showExp;
    }

    public void setShowExp(Boolean showExp) {
        this.showExp = showExp;
    }

    public Boolean getCanShowCompleteBtn() {
        return canShowCompleteBtn;
    }

    public void setCanShowCompleteBtn(Boolean canShowCompleteBtn) {
        this.canShowCompleteBtn = canShowCompleteBtn;
    }

    public Boolean getSendPoints() {
        return sendPoints;
    }

    public void setSendPoints(Boolean sendPoints) {
        this.sendPoints = sendPoints;
    }

    public Integer getIsClosed() {
        return isClosed;
    }

    public void setIsClosed(Integer isClosed) {
        this.isClosed = isClosed;
    }
}
